const { Model, DataTypes } = require('sequelize')

class Comment extends Model {}

module.exports = (sequelize) => {
  Comment.init(
    {
      code: {
        // 病案号，主键
        type: DataTypes.STRING(10),
        primaryKey: true
      },
      mainDiagnosis: {
        // 主诊断
        type: DataTypes.STRING(200)
      },
      mainStatus: {
        // 主诊断正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis1: {
        // 次诊断1
        type: DataTypes.STRING(200)
      },
      oStatus1: {
        // 次诊断1正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis2: {
        // 次诊断2
        type: DataTypes.STRING(200)
      },
      oStatus2: {
        // 次诊断2正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis3: {
        // 次诊断3
        type: DataTypes.STRING(200)
      },
      oStatus3: {
        // 次诊断3正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis4: {
        // 次诊断4
        type: DataTypes.STRING(200)
      },
      oStatus4: {
        // 次诊断4正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis5: {
        // 次诊断5
        type: DataTypes.STRING(200)
      },
      oStatus5: {
        // 次诊断5正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis6: {
        // 次诊断6
        type: DataTypes.STRING(200)
      },
      oStatus6: {
        // 次诊断6正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis7: {
        // 次诊断7
        type: DataTypes.STRING(200)
      },
      oStatus7: {
        // 次诊断7正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis8: {
        // 次诊断8
        type: DataTypes.STRING(200)
      },
      oStatus8: {
        // 次诊断8正确与否
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis9: {
        // 次诊断9
        type: DataTypes.STRING(200)
      },
      oStatus9: {
        // 次诊断9正确与否
        type: DataTypes.INTEGER(1)
      },
      opNo1Info: {
        // 主手术->手术及操作名称1
        type: DataTypes.STRING(200)
      },
      opNo1Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo2Info: {
        // 其他手术1->手术及操作名称2
        type: DataTypes.STRING(200)
      },
      opNo2Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo3Info: {
        // 其他手术2->手术及操作名称3
        type: DataTypes.STRING(200)
      },
      opNo3Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo4Info: {
        // 其他手术3->手术及操作名称4
        type: DataTypes.STRING(200)
      },
      opNo4Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo5Info: {
        // 其他手术4->手术及操作名称5
        type: DataTypes.STRING(200)
      },
      opNo5Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo6Info: {
        // 其他手术5->手术及操作名称6
        type: DataTypes.STRING(200)
      },
      opNo6Status: {
        type: DataTypes.INTEGER(1)
      },
      opNo7Info: {
        // 其他手术6->手术及操作名称7
        type: DataTypes.STRING(200)
      },
      opNo7Status: {
        type: DataTypes.INTEGER(1)
      },
      leaveHosType: {
        // 离院方式
        type: DataTypes.STRING(200)
      },
      leaveHosStatus: {
        type: DataTypes.INTEGER(1)
      },
      mainDiagnosisInInfo: {
        // 主要诊断入院病情
        type: DataTypes.STRING(200)
      },
      mainDiagnosisStatus: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis1InInfo: {
        // 其他诊断1入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis1Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis2InInfo: {
        // 其他诊断2入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis2Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis3InInfo: {
        // 其他诊断3入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis3Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis4InInfo: {
        // 其他诊断4入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis4Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis5InInfo: {
        // 其他诊断5入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis5Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis6InInfo: {
        // 其他诊断6入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis6Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis7InInfo: {
        // 其他诊断7入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis7Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis8InInfo: {
        // 其他诊断8入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis8Status: {
        type: DataTypes.INTEGER(1)
      },
      oDiagnosis9InInfo: {
        // 其他诊断9入院病情
        type: DataTypes.STRING(200)
      },
      oDiagnosis9Status: {
        type: DataTypes.INTEGER(1)
      },
      createAt: {
        type: DataTypes.STRING(20)
      },
      updateAt: {
        type: DataTypes.STRING(20)
      }
    },
    {
      sequelize, // We need to pass the connection instance
      modelName: 'Comment' // We need to choose the model name
    }
  )
  return Comment
}
